<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::BilateralUpsampling&lt; PointInT, PointOutT &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_bilateral_upsampling.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-attribs">Public 属性</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1_bilateral_upsampling-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::BilateralUpsampling&lt; PointInT, PointOutT &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>Bilateral filtering implementation, based on the following paper:  
 <a href="classpcl_1_1_bilateral_upsampling.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="bilateral__upsampling_8h_source.html">bilateral_upsampling.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::BilateralUpsampling&lt; PointInT, PointOutT &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_bilateral_upsampling.png" usemap="#pcl::BilateralUpsampling_3C_20PointInT_2C_20PointOutT_20_3E_map" alt=""/>
  <map id="pcl::BilateralUpsampling_3C_20PointInT_2C_20PointOutT_20_3E_map" name="pcl::BilateralUpsampling_3C_20PointInT_2C_20PointOutT_20_3E_map">
<area href="classpcl_1_1_cloud_surface_processing.html" title="CloudSurfaceProcessing represents the base class for algorithms that takes a point cloud as input and..." alt="pcl::CloudSurfaceProcessing&lt; PointInT, PointOutT &gt;" shape="rect" coords="0,56,309,80"/>
<area href="classpcl_1_1_p_c_l_base.html" alt="pcl::PCLBase&lt; PointInT &gt;" shape="rect" coords="0,0,309,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a7e7e94c57c849ed31eb0f8f5326fb050"><td class="memItemLeft" align="right" valign="top"><a id="a7e7e94c57c849ed31eb0f8f5326fb050"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_bilateral_upsampling.html">BilateralUpsampling</a>&lt; PointInT, PointOutT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a7e7e94c57c849ed31eb0f8f5326fb050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbb845850005401006ea83ee84291ea2"><td class="memItemLeft" align="right" valign="top"><a id="acbb845850005401006ea83ee84291ea2"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_bilateral_upsampling.html">BilateralUpsampling</a>&lt; PointInT, PointOutT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:acbb845850005401006ea83ee84291ea2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a804c2815eddc469e375e4261fe60675d"><td class="memItemLeft" align="right" valign="top"><a id="a804c2815eddc469e375e4261fe60675d"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointOutT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudOut</b></td></tr>
<tr class="separator:a804c2815eddc469e375e4261fe60675d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_cloud_surface_processing"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_cloud_surface_processing')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_cloud_surface_processing.html">pcl::CloudSurfaceProcessing&lt; PointInT, PointOutT &gt;</a></td></tr>
<tr class="memitem:a6b65f01ec6ef58e182a0c31a521d9867 inherit pub_types_classpcl_1_1_cloud_surface_processing"><td class="memItemLeft" align="right" valign="top"><a id="a6b65f01ec6ef58e182a0c31a521d9867"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1_cloud_surface_processing.html">CloudSurfaceProcessing</a>&lt; PointInT, PointOutT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:a6b65f01ec6ef58e182a0c31a521d9867 inherit pub_types_classpcl_1_1_cloud_surface_processing"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9146a40e86bd9d06252ef7de106d3d5 inherit pub_types_classpcl_1_1_cloud_surface_processing"><td class="memItemLeft" align="right" valign="top"><a id="ad9146a40e86bd9d06252ef7de106d3d5"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1_cloud_surface_processing.html">CloudSurfaceProcessing</a>&lt; PointInT, PointOutT &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:ad9146a40e86bd9d06252ef7de106d3d5 inherit pub_types_classpcl_1_1_cloud_surface_processing"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae2f6f6863a73337858b7a7a054eaae4f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointInT &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ab84dd662cda89edb882fe5307b2136ea"></a>
typedef PointCloud::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ac8326513fad0680b6993e2f1a79a6af4"></a>
typedef PointCloud::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae51eae0c7b3e0b7178f4894dff90660a"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesPtr</b></td></tr>
<tr class="separator:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a51771056fb4ab8c448a11157acbe2ee0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesConstPtr</b></td></tr>
<tr class="separator:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a73c65ef7f80b7e63797df397c34a49ff"><td class="memItemLeft" align="right" valign="top"><a id="a73c65ef7f80b7e63797df397c34a49ff"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#a73c65ef7f80b7e63797df397c34a49ff">BilateralUpsampling</a> ()</td></tr>
<tr class="memdesc:a73c65ef7f80b7e63797df397c34a49ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a73c65ef7f80b7e63797df397c34a49ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0eae8cf27d0f32d3d78649690ba897"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#acd0eae8cf27d0f32d3d78649690ba897">setWindowSize</a> (int window_size)</td></tr>
<tr class="memdesc:acd0eae8cf27d0f32d3d78649690ba897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method that sets the window size for the filter  <a href="classpcl_1_1_bilateral_upsampling.html#acd0eae8cf27d0f32d3d78649690ba897">更多...</a><br /></td></tr>
<tr class="separator:acd0eae8cf27d0f32d3d78649690ba897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd7c27e23f6837eec417c1d6238773d4"><td class="memItemLeft" align="right" valign="top"><a id="afd7c27e23f6837eec417c1d6238773d4"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#afd7c27e23f6837eec417c1d6238773d4">getWindowSize</a> () const</td></tr>
<tr class="memdesc:afd7c27e23f6837eec417c1d6238773d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the filter window size <br /></td></tr>
<tr class="separator:afd7c27e23f6837eec417c1d6238773d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4f7695ba231d9ea5ff7778a653166dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#ad4f7695ba231d9ea5ff7778a653166dc">setSigmaColor</a> (const float &amp;sigma_color)</td></tr>
<tr class="memdesc:ad4f7695ba231d9ea5ff7778a653166dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method that sets the sigma color parameter  <a href="classpcl_1_1_bilateral_upsampling.html#ad4f7695ba231d9ea5ff7778a653166dc">更多...</a><br /></td></tr>
<tr class="separator:ad4f7695ba231d9ea5ff7778a653166dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77957460468ef7c36f7bf4a73e8acad6"><td class="memItemLeft" align="right" valign="top"><a id="a77957460468ef7c36f7bf4a73e8acad6"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#a77957460468ef7c36f7bf4a73e8acad6">getSigmaColor</a> () const</td></tr>
<tr class="memdesc:a77957460468ef7c36f7bf4a73e8acad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current sigma color value <br /></td></tr>
<tr class="separator:a77957460468ef7c36f7bf4a73e8acad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac92d07884010ec8e7c618587251e464c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#ac92d07884010ec8e7c618587251e464c">setSigmaDepth</a> (const float &amp;sigma_depth)</td></tr>
<tr class="memdesc:ac92d07884010ec8e7c618587251e464c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method that sets the sigma depth parameter  <a href="classpcl_1_1_bilateral_upsampling.html#ac92d07884010ec8e7c618587251e464c">更多...</a><br /></td></tr>
<tr class="separator:ac92d07884010ec8e7c618587251e464c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1430bd487587488968ef808cf69693e5"><td class="memItemLeft" align="right" valign="top"><a id="a1430bd487587488968ef808cf69693e5"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#a1430bd487587488968ef808cf69693e5">getSigmaDepth</a> () const</td></tr>
<tr class="memdesc:a1430bd487587488968ef808cf69693e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current sigma depth value <br /></td></tr>
<tr class="separator:a1430bd487587488968ef808cf69693e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a349a7e997fba0920915560f025d4c2f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#a349a7e997fba0920915560f025d4c2f1">setProjectionMatrix</a> (const Eigen::Matrix3f &amp;projection_matrix)</td></tr>
<tr class="memdesc:a349a7e997fba0920915560f025d4c2f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method that sets the projection matrix to be used when unprojecting the points in the depth image back to (x,y,z) positions.  <a href="classpcl_1_1_bilateral_upsampling.html#a349a7e997fba0920915560f025d4c2f1">更多...</a><br /></td></tr>
<tr class="separator:a349a7e997fba0920915560f025d4c2f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a407617669e5ba19bf15981e2a02ced4e"><td class="memItemLeft" align="right" valign="top"><a id="a407617669e5ba19bf15981e2a02ced4e"></a>
Eigen::Matrix3f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#a407617669e5ba19bf15981e2a02ced4e">getProjectionMatrix</a> () const</td></tr>
<tr class="memdesc:a407617669e5ba19bf15981e2a02ced4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current projection matrix <br /></td></tr>
<tr class="separator:a407617669e5ba19bf15981e2a02ced4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6dfd35673c9e2dec504138ead4a01d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#ab6dfd35673c9e2dec504138ead4a01d9">process</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointOutT &gt; &amp;output)</td></tr>
<tr class="memdesc:ab6dfd35673c9e2dec504138ead4a01d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method that does the actual processing on the input cloud.  <a href="classpcl_1_1_bilateral_upsampling.html#ab6dfd35673c9e2dec504138ead4a01d9">更多...</a><br /></td></tr>
<tr class="separator:ab6dfd35673c9e2dec504138ead4a01d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_cloud_surface_processing"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_cloud_surface_processing')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_cloud_surface_processing.html">pcl::CloudSurfaceProcessing&lt; PointInT, PointOutT &gt;</a></td></tr>
<tr class="memitem:af9363cc7880440f899bae9648313e6f2 inherit pub_methods_classpcl_1_1_cloud_surface_processing"><td class="memItemLeft" align="right" valign="top"><a id="af9363cc7880440f899bae9648313e6f2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_cloud_surface_processing.html#af9363cc7880440f899bae9648313e6f2">CloudSurfaceProcessing</a> ()</td></tr>
<tr class="memdesc:af9363cc7880440f899bae9648313e6f2 inherit pub_methods_classpcl_1_1_cloud_surface_processing"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:af9363cc7880440f899bae9648313e6f2 inherit pub_methods_classpcl_1_1_cloud_surface_processing"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc69a434ecb1437c0b3379d3091d8e09 inherit pub_methods_classpcl_1_1_cloud_surface_processing"><td class="memItemLeft" align="right" valign="top"><a id="adc69a434ecb1437c0b3379d3091d8e09"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_cloud_surface_processing.html#adc69a434ecb1437c0b3379d3091d8e09">~CloudSurfaceProcessing</a> ()</td></tr>
<tr class="memdesc:adc69a434ecb1437c0b3379d3091d8e09 inherit pub_methods_classpcl_1_1_cloud_surface_processing"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty destructor <br /></td></tr>
<tr class="separator:adc69a434ecb1437c0b3379d3091d8e09 inherit pub_methods_classpcl_1_1_cloud_surface_processing"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="af4fbc5eb005057f8a0fc6d60bde595df"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af4fbc5eb005057f8a0fc6d60bde595df">PCLBase</a> ()</td></tr>
<tr class="memdesc:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a7a6dd7a91275d7737cf1b18005b47244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a7a6dd7a91275d7737cf1b18005b47244">PCLBase</a> (const <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a> &amp;base)</td></tr>
<tr class="memdesc:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ad5d6846e98e59c37dcc3dc9958d53966"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ad5d6846e98e59c37dcc3dc9958d53966">~PCLBase</a> ()</td></tr>
<tr class="memdesc:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">setInputCloud</a> (const PointCloudConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input dataset  <a href="classpcl_1_1_p_c_l_base.html#a1952d7101f3942bac3b69ed55c1ca7ea">更多...</a><br /></td></tr>
<tr class="separator:a1952d7101f3942bac3b69ed55c1ca7ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a8cd745c4f7a792212f4fc3720b9d46ea"></a>
PointCloudConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a8cd745c4f7a792212f4fc3720b9d46ea">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">setIndices</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">更多...</a><br /></td></tr>
<tr class="separator:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">setIndices</a> (const IndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">更多...</a><br /></td></tr>
<tr class="separator:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">setIndices</a> (const PointIndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">更多...</a><br /></td></tr>
<tr class="separator:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">setIndices</a> (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)</td></tr>
<tr class="memdesc:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the indices for the points laying within an interest region of the point cloud.  <a href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">更多...</a><br /></td></tr>
<tr class="separator:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a058753dd4de73d3d0062fe2e452fba3c"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a058753dd4de73d3d0062fe2e452fba3c">getIndices</a> ()</td></tr>
<tr class="memdesc:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="acae187b37230758959572ceb1e6e2045"></a>
IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acae187b37230758959572ceb1e6e2045">getIndices</a> () const</td></tr>
<tr class="memdesc:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">const PointInT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">operator[]</a> (size_t pos) const</td></tr>
<tr class="memdesc:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override PointCloud operator[] to shorten code  <a href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">更多...</a><br /></td></tr>
<tr class="separator:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public 属性</h2></td></tr>
<tr class="memitem:a80e99b04a8ea7d90ab0080d69a3629a6"><td class="memItemLeft" align="right" valign="top"><a id="a80e99b04a8ea7d90ab0080d69a3629a6"></a>
Eigen::Matrix3f&#160;</td><td class="memItemRight" valign="bottom"><b>KinectVGAProjectionMatrix</b></td></tr>
<tr class="separator:a80e99b04a8ea7d90ab0080d69a3629a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a165ac3d9954bd0b87a5ff4a4f6f40273"><td class="memItemLeft" align="right" valign="top"><a id="a165ac3d9954bd0b87a5ff4a4f6f40273"></a>
Eigen::Matrix3f&#160;</td><td class="memItemRight" valign="bottom"><b>KinectSXGAProjectionMatrix</b></td></tr>
<tr class="separator:a165ac3d9954bd0b87a5ff4a4f6f40273"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:ab7f192b2de2a6a681b529705baf5f28f"><td class="memItemLeft" align="right" valign="top"><a id="ab7f192b2de2a6a681b529705baf5f28f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#ab7f192b2de2a6a681b529705baf5f28f">performProcessing</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointOutT &gt; &amp;output)</td></tr>
<tr class="memdesc:ab7f192b2de2a6a681b529705baf5f28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract cloud processing method <br /></td></tr>
<tr class="separator:ab7f192b2de2a6a681b529705baf5f28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1891188e162146676f2ad1f98a02d012"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_bilateral_upsampling.html#a1891188e162146676f2ad1f98a02d012">computeDistances</a> (Eigen::MatrixXf &amp;val_exp_depth, Eigen::VectorXf &amp;val_exp_rgb)</td></tr>
<tr class="memdesc:a1891188e162146676f2ad1f98a02d012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the distance for depth and <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a>.  <a href="classpcl_1_1_bilateral_upsampling.html#a1891188e162146676f2ad1f98a02d012">更多...</a><br /></td></tr>
<tr class="separator:a1891188e162146676f2ad1f98a02d012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ()</td></tr>
<tr class="memdesc:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation.  <a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">更多...</a><br /></td></tr>
<tr class="separator:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="afc426c4eebb94b7734d4fa556bff1420"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ()</td></tr>
<tr class="memdesc:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after finishing the actual computation. <br /></td></tr>
<tr class="separator:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:aef5b469fae2a18c4f6c64eb7516a07a1"><td class="memItemLeft" align="right" valign="top"><a id="aef5b469fae2a18c4f6c64eb7516a07a1"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>window_size_</b></td></tr>
<tr class="separator:aef5b469fae2a18c4f6c64eb7516a07a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88fe721c163c22f866c44dc8b4496f51"><td class="memItemLeft" align="right" valign="top"><a id="a88fe721c163c22f866c44dc8b4496f51"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>sigma_color_</b></td></tr>
<tr class="separator:a88fe721c163c22f866c44dc8b4496f51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d837c182045fbdbb83c8086b8f858c"><td class="memItemLeft" align="right" valign="top"><a id="ac1d837c182045fbdbb83c8086b8f858c"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>sigma_depth_</b></td></tr>
<tr class="separator:ac1d837c182045fbdbb83c8086b8f858c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a685b3bec44a7f70ce53dd8b7b25fb494"><td class="memItemLeft" align="right" valign="top"><a id="a685b3bec44a7f70ce53dd8b7b25fb494"></a>
Eigen::Matrix3f&#160;</td><td class="memItemRight" valign="bottom"><b>projection_matrix_</b></td></tr>
<tr class="separator:a685b3bec44a7f70ce53dd8b7b25fb494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad745272b97a25115dd3d08029b49fb7b"><td class="memItemLeft" align="right" valign="top"><a id="ad745272b97a25115dd3d08029b49fb7b"></a>
Eigen::Matrix3f&#160;</td><td class="memItemRight" valign="bottom"><b>unprojection_matrix_</b></td></tr>
<tr class="separator:ad745272b97a25115dd3d08029b49fb7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointInT &gt;</a></td></tr>
<tr class="memitem:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a09c70d8e06e3fb4f07903fe6f8d67869"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a></td></tr>
<tr class="memdesc:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset. <br /></td></tr>
<tr class="separator:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="aaee847c8a517ebf365bad2cb182a6626"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a></td></tr>
<tr class="memdesc:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ada1eadb824d34ca9206a86343d9760bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ada1eadb824d34ca9206a86343d9760bb">use_indices_</a></td></tr>
<tr class="memdesc:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if point indices are used. <br /></td></tr>
<tr class="separator:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="adadb0299f144528020ed558af6879662"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#adadb0299f144528020ed558af6879662">fake_indices_</a></td></tr>
<tr class="memdesc:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. <br /></td></tr>
<tr class="separator:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointInT, typename PointOutT&gt;<br />
class pcl::BilateralUpsampling&lt; PointInT, PointOutT &gt;</h3>

<p>Bilateral filtering implementation, based on the following paper: </p>
<ul>
<li>Kopf, Johannes and Cohen, Michael F. and Lischinski, Dani and Uyttendaele, Matt - Joint Bilateral Upsampling,</li>
<li>ACM Transations in Graphics, July 2007</li>
</ul>
<p>Takes in a colored organized point cloud (i.e. <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b.html" title="A point structure representing Euclidean xyz coordinates, and the RGB color.">PointXYZRGB</a> or <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html" title="A point structure representing Euclidean xyz coordinates, and the RGBA color.">PointXYZRGBA</a>), that might contain nan values for the depth information, and it will return an upsampled version of this cloud, based on the formula: </p><p class="formulaDsp">
<img class="formulaDsp" alt="\[ \tilde{S}_p = \frac{1}{k_p} \sum_{q_d \in \Omega} {S_{q_d} f(||p_d - q_d|| g(||\tilde{I}_p-\tilde{I}_q||}) \]" src="form_77.png"/>
</p>
<p>where S is the depth image, I is the <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> image and f and g are Gaussian functions centered at 0 and with standard deviations <img class="formulaInl" alt="$\sigma_{color}$" src="form_78.png"/> and <img class="formulaInl" alt="$\sigma_{depth}$" src="form_79.png"/> </p>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="a1891188e162146676f2ad1f98a02d012"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1891188e162146676f2ad1f98a02d012">&#9670;&nbsp;</a></span>computeDistances()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_bilateral_upsampling.html">pcl::BilateralUpsampling</a>&lt; PointInT, PointOutT &gt;::computeDistances </td>
          <td>(</td>
          <td class="paramtype">Eigen::MatrixXf &amp;&#160;</td>
          <td class="paramname"><em>val_exp_depth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eigen::VectorXf &amp;&#160;</td>
          <td class="paramname"><em>val_exp_rgb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Computes the distance for depth and <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a>. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">val_exp_depth</td><td>distance values for depth </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">val_exp_rgb</td><td>distance values for <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;{</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  val_exp_depth.resize (2*window_size_+1,2*window_size_+1);</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  val_exp_rgb.resize (3*255);</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keywordtype">int</span> j = 0;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> dx = -window_size_; dx &lt; window_size_+1; ++dx) </div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  {</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordtype">int</span> i = 0;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> dy = -window_size_; dy &lt; window_size_+1; ++dy)</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    {</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;      <span class="keywordtype">float</span> val_exp = expf (- (dx*dx + dy*dy) / (2.0f * <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (sigma_depth_ * sigma_depth_)));</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;      val_exp_depth(i,j) = val_exp;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;      i++;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    }</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    j++;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  }</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    </div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> d_color = 0; d_color &lt; 3*255; d_color++) </div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  {    </div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keywordtype">float</span> val_exp = expf (- d_color * d_color / (2.0f * sigma_color_ * sigma_color_));</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    val_exp_rgb(d_color) = val_exp;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  }</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab6dfd35673c9e2dec504138ead4a01d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6dfd35673c9e2dec504138ead4a01d9">&#9670;&nbsp;</a></span>process()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_bilateral_upsampling.html">pcl::BilateralUpsampling</a>&lt; PointInT, PointOutT &gt;::process </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointOutT &gt; &amp;&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method that does the actual processing on the input cloud. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">output</td><td>the container of the resulting upsampled cloud </td></tr>
  </table>
  </dd>
</dl>

<p>重载 <a class="el" href="classpcl_1_1_cloud_surface_processing.html#ae6912c1e996411e848c058720d8b543f">pcl::CloudSurfaceProcessing&lt; PointInT, PointOutT &gt;</a> .</p>
<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="comment">// Copy the header</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  output.<a class="code" href="classpcl_1_1_point_cloud.html#a82e0be055a617e5e74102ed62712b352">header</a> = <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;header;</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ())</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  {</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    output.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a> = output.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = 0;</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    output.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>.clear ();</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  }</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;isOrganized () == <span class="keyword">false</span>)</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  {</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;Input cloud is not organized.\n&quot;</span>);</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  }</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="comment">// Invert projection matrix</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  unprojection_matrix_ = projection_matrix_.inverse ();</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 3; ++i)</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  {</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 3; ++j)</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;      printf (<span class="stringliteral">&quot;%f &quot;</span>, unprojection_matrix_(i, j));</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    printf (<span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  }</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="comment">// Perform the actual surface reconstruction</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="classpcl_1_1_bilateral_upsampling.html#ab7f192b2de2a6a681b529705baf5f28f">performProcessing</a> (output);</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ();</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_bilateral_upsampling_html_ab7f192b2de2a6a681b529705baf5f28f"><div class="ttname"><a href="classpcl_1_1_bilateral_upsampling.html#ab7f192b2de2a6a681b529705baf5f28f">pcl::BilateralUpsampling::performProcessing</a></div><div class="ttdeci">void performProcessing(pcl::PointCloud&lt; PointOutT &gt; &amp;output)</div><div class="ttdoc">Abstract cloud processing method</div><div class="ttdef"><b>Definition:</b> bilateral_upsampling.hpp:86</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_a09c70d8e06e3fb4f07903fe6f8d67869"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">pcl::PCLBase&lt; PointInT &gt;::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">The input point cloud dataset.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:150</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_acceb20854934f4cf77e266eb5a44d4f0"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">pcl::PCLBase&lt; PointInT &gt;::initCompute</a></div><div class="ttdeci">bool initCompute()</div><div class="ttdoc">This method should get called before starting the actual computation.</div><div class="ttdef"><b>Definition:</b> pcl_base.hpp:139</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_afc426c4eebb94b7734d4fa556bff1420"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">pcl::PCLBase&lt; PointInT &gt;::deinitCompute</a></div><div class="ttdeci">bool deinitCompute()</div><div class="ttdoc">This method should get called after finishing the actual computation.</div><div class="ttdef"><b>Definition:</b> pcl_base.hpp:174</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a2185a6453f8ad905d7bdf7b45754a160"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">pcl::PointCloud::width</a></div><div class="ttdeci">uint32_t width</div><div class="ttdoc">The point cloud width (if organized as an image-structure).</div><div class="ttdef"><b>Definition:</b> point_cloud.h:413</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a4f34b45220c57f96607513ffad0d9582"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">pcl::PointCloud::height</a></div><div class="ttdeci">uint32_t height</div><div class="ttdoc">The point cloud height (if organized as an image-structure).</div><div class="ttdef"><b>Definition:</b> point_cloud.h:415</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a82e0be055a617e5e74102ed62712b352"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a82e0be055a617e5e74102ed62712b352">pcl::PointCloud::header</a></div><div class="ttdeci">pcl::PCLHeader header</div><div class="ttdoc">The point cloud header. It contains information about the acquisition time.</div><div class="ttdef"><b>Definition:</b> point_cloud.h:407</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_af16a62638198313b9c093127c492c884"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">pcl::PointCloud::points</a></div><div class="ttdeci">std::vector&lt; PointT, Eigen::aligned_allocator&lt; PointT &gt; &gt; points</div><div class="ttdoc">The point data.</div><div class="ttdef"><b>Definition:</b> point_cloud.h:410</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a349a7e997fba0920915560f025d4c2f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a349a7e997fba0920915560f025d4c2f1">&#9670;&nbsp;</a></span>setProjectionMatrix()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_bilateral_upsampling.html">pcl::BilateralUpsampling</a>&lt; PointInT, PointOutT &gt;::setProjectionMatrix </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Matrix3f &amp;&#160;</td>
          <td class="paramname"><em>projection_matrix</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method that sets the projection matrix to be used when unprojecting the points in the depth image back to (x,y,z) positions. </p>
<dl class="section note"><dt>注解</dt><dd>There are 2 matrices already set in the class, used for the 2 modes available for the Kinect. They are tuned to be the same as the ones in the OpenNiGrabber </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">projection_matrix</td><td>the new projection matrix to be set </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;{ projection_matrix_ = projection_matrix; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad4f7695ba231d9ea5ff7778a653166dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4f7695ba231d9ea5ff7778a653166dc">&#9670;&nbsp;</a></span>setSigmaColor()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_bilateral_upsampling.html">pcl::BilateralUpsampling</a>&lt; PointInT, PointOutT &gt;::setSigmaColor </td>
          <td>(</td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>sigma_color</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method that sets the sigma color parameter </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sigma_color</td><td>the new value to be set </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;{ sigma_color_ = sigma_color; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac92d07884010ec8e7c618587251e464c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac92d07884010ec8e7c618587251e464c">&#9670;&nbsp;</a></span>setSigmaDepth()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_bilateral_upsampling.html">pcl::BilateralUpsampling</a>&lt; PointInT, PointOutT &gt;::setSigmaDepth </td>
          <td>(</td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>sigma_depth</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method that sets the sigma depth parameter </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sigma_depth</td><td>the new value to be set </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;{ sigma_depth_ = sigma_depth; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="acd0eae8cf27d0f32d3d78649690ba897"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd0eae8cf27d0f32d3d78649690ba897">&#9670;&nbsp;</a></span>setWindowSize()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointInT , typename PointOutT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_bilateral_upsampling.html">pcl::BilateralUpsampling</a>&lt; PointInT, PointOutT &gt;::setWindowSize </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>window_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method that sets the window size for the filter </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">window_size</td><td>the given window size </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;{ window_size_ = window_size; }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>surface/include/pcl/surface/<a class="el" href="bilateral__upsampling_8h_source.html">bilateral_upsampling.h</a></li>
<li>surface/include/pcl/surface/impl/<a class="el" href="bilateral__upsampling_8hpp_source.html">bilateral_upsampling.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_bilateral_upsampling.html">BilateralUpsampling</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
